<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>this</title>
</head>
<body>
<script>
    /*解析器在调用函数每次都会向函数内部传递一个隐含的参数this
    * this指向的是一个对象这个对象称为函数执行的上下文对象
    *   根据函数调用方式的不同，this会指向不同的对象
    *
    *   1.以函数的形式调用时，this就是window
    *   2.以对象的方法调用时，this就是调用方法的对象
    *   3.当函数以构造函数出现时，this就是我们新创建的对象
    * 第4种方法在以后讲的
    *  4.4.使用call和apply调用时，this就是指定的哪个对象，第一个对象指定的是谁 就是谁 即obj3就是this
    * */
    //举例1 函数方法调用
    var name="这是window的name";
    function fun() {
        console.log(this.name);
    }
    fun();//调用之后 this就是window  返回这是window的name
    //举例2 对象的方法调用
    var obj={
        name:"猪八戒",
        gender:"男",
        sayName:fun
    };
    var obj1={
        name:"沙和尚",
        gender:"男",
        sayName:fun
    };
   obj1.sayName();//以对象的方法调用时，this就是调用方法的对象

    </script>
</body>
</html>